for (var i = 0; i < 5; i++) {
  setTimeout(function () {
    console.log(i);
  }, 1000);
}

// 坑爹之处：
// 这段代码会在1秒后连续打印出 5 五次，而不是从 0 到 4。这是因为所有的 setTimeout 回调函数共享同一个 i 变量，而这个变量在循环结束后已经变成了 5。
